home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)ze.d64
/
txt.run protect
< prev
next >
Wrap
Text File
|
2007-03-01
|
2KB
|
108 lines
╥╒╬ PROTECTION
--------------
BY ─ICK ╦LINGENS,
─UTCH ├╧═┴╠ ╒SERS ╟ROUP
┴CCESS TO A LARGE COMPUTER SYSTEM
NEEDS TYPING IN A KEYWORD (SOMETIMES
MORE THAN ONE). ┴CCESS TO A PROGRAM
BEFORE RUNNING SOMETIMES NEEDS TYPING
IN A CODE; IN THIS CASE A SMALL
PROGRAM ON A SMALL COMPUTER USING A
GREAT LANGUAGE.
╠OOK AT THE FOLLOWING.
╘YPE
╠╧┴─ "EXAM.CODELOAD"
┴FTER THE PROGRAM HAS BEEN LOADED IN
MEMORY, A PROMPT IS DISPLAYED SHOWN
ON THE SCREEN
TYPE CODE:
┴ND IF THE CODE DOES NOT MATCH, AFTER
A <RETURN>,
ERROR IN CODE, RESET
IS PRINTED. ╬OW, RESET THE COMPUTER
AND TRY AGAIN, USING
CML80
AS THE CODE WANTED.
╘HE ABOVE IS POSSIBLE WITH A SMALL
MODULE IN THE FILE 'OBJ.CODELOAD'
WHICH IS LINKED TO THE PROGRAM.
╙OME INFORMATION ON THE MODULE
FOLLOWS NOW.
┴ SIGNAL ROUTINE DETECTS THE PROGRAM
LOAD (╠╧┴─, ╥╒╬, OR ├╚┴╔╬) WITH
SIGNAL CPY #LOAD
BNE NLOAD
LDA POWER
BEQ FIRST
JSR INCODE
┴FTER THE SIGNAL IS SENT TO THE
MODULE FOR THE FIRST TIME, A
VARIABLE, ╨╧╫┼╥, IS CHECKED: THE
VALUE EQUALS ZERO. ╘HEN ╨╧╫┼╥ IS
INCREMENTED WITH ONE AND A SECOND
SIGNAL IS SENT TO THE MODULE: ╨╧╫┼╥
NOW EQUALS 1 (NOT ZERO) AND A MODULE
SUBROUTINE ╔╬├╧─┼ ASKS FOR THE CODE
TO BE TYPED IN. ╔F THE CODE IS
CORRECT AN 'AUTORUN' IS PERFORMED BY
LDA #255
STA HEADLN
STA CDBUF+3
LDA #RUN
STA CDBUF+4
╬OW A CODED ╥╒╬ COMMAND IS STORED IN
THE CODE BUFFER. ╘HIS COMMAND IS
EXECUTED BY
JSR EXCUTE
JMP COMAL ;├╧═┴╠ EDITOR
╘HE OTHER LINES IN THE SIGNAL ROUTINE
ARE
FIRST INC POWER
NLOAD RTS ;BACK TO COMAL
POWER .BYT 0
╘HE SUBROUTINE ╔╬├╧─┼ PRINTS THE
PROMPT ON THE SCREEN AND ASKS FOR THE
CODE USING ANOTHER SUBROUTINE ╥┼┴─.
╘HE <RESTORE> KEY IS ALSO DISABLED BY
╔╬├╧─┼. ╥┼┴─ CHECKS THE TYPED CODE
AND IF THE CODE DOES NOT MATCH
ANOTHER ROUTINE IS CALLED, ├─┼╥╥ AND
THE MODULE IS BLOCKED BY
LOOP JMP LOOP ;FORCING A RESET
╔F ONE DELETES THE LINE
JSR INCODE
FROM THE MODULE ONLY AN 'AUTORUN' IS
PERFORMED AFTER LOADING.
┬ECAUSE ALL CONSTANTS, VARIABLES AND
ROUTINES ARE DEFINED AT THE BEGINNING
OF THE FILE 'SRC.CODELOAD', THE FILE
├64╙┘═┬ IS NOT NEEDED DURING
ASSEMBLING THE FILE.